using System;
using System.Collections.Generic;
using System.Windows.Forms;
using roster.Domain;

namespace roster.UI
{
    public interface IRaidView
    {
        event MethodInvoker UpdateRaid;
        event Action<IPlayer> MoveUp;
        event Action<IPlayer> MoveDown;
        event Action<IPlayer> Suicide;
        event MethodInvoker AddPlayer;
        event Action<ILootToken> TokenSelected;
        void Show();
        void UpdateView(IEnumerable<IPlayer> players);
        void SelectPlayer(IPlayer player);
        event MethodInvoker CancelRaid;
        void SetTitle(string title);
        void SetTokens(IEnumerable<ILootToken> tokens);
        void SelectPlayers(IEnumerable<IPlayer> players);
        event Action<IEnumerable<IPlayer>> RemovePlayer;
    }
}